package org.pray.single;

/**
 * People 这里是说单一职责原则，不涉及到继承，只说明每个类只对自己的职责负责，而不是关心其他的东西，术业有专攻
 *
 * @author 春江花朝秋月夜
 * @since 2024/2/12 21:07
 */
// 一个人类
public class People {

    /**
     * 人类会编程
     */
    public void coding() {
        System.out.println("int mian() {");
        System.out.println("   printf(\"Holle Wrold!\");");
        System.out.println("}");
        System.out.println("啊嘞，怎么运行不起？明明照着老师敲的啊");
    }

    /**
     * 工厂打螺丝也会
     */
    public void work() {
        System.out.println("真开心，能进到富土康打螺丝");
        System.out.println("诶，怎么工友都提桶跑路了");
    }

    /**
     * 送外卖也会
     */
    public void ride() {
        System.out.println("今天终于通过美团最终面，加入了梦寐以求的大厂了");
        System.out.println("感觉面试挺简单的，就是不知道为啥我同学是现场做一道力扣接雨水，而我是现场问会不会骑车");
        System.out.println("（迫不及待穿上外卖服装）");
    }
    // 显然此类会的太多，非常容易造成耦合，不符合单一职责原则！

    // 修改之后
    class Coder {
        /**
         * 程序员会编程
         */
        public void coding() {
            System.out.println("int mian() {");
            System.out.println("   printf(\"Hello World!\")");
            System.out.println("}");
            System.out.println("啊嘞，怎么运行不起？明明照着老师敲的啊");
        }
    }

    class Worker {
        /**
         * 工人会打螺丝
         */
        public void work() {
            System.out.println("真开心，能进到富土康打螺丝");
            System.out.println("诶，怎么工友都提桶跑路了");
        }
    }

    class Rider {
        /**
         * 骑手会送外卖
         */
        public void ride() {
            System.out.println("今天终于通过美团最终面，加入了梦寐以求的大厂");
            System.out.println("感觉面试挺简单的，就是不知道为啥我同学是现场做一道力扣接雨水，我是现场问会不会骑车");
            System.out.println("（迫不及待穿上外卖服装）");
        }
    }
}
